package com.yan.qing.bootaspect.Annotitaion;

import com.yan.qing.bootaspect.operate.OperateBusinessEnum;
import com.yan.qing.bootaspect.operate.OperateTypeEnum;
import com.yan.qing.bootaspect.operate.OperateUserTypeEnum;

import java.lang.annotation.*;

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface OperateLogs {

    /**
     * 操作业务
     **/
    OperateBusinessEnum operateBusiness();

    /**
     * 操作类型
     **/
    OperateTypeEnum operateType();

    /**
     * 操作用户类型
     **/
    OperateUserTypeEnum operateUserType();

    /**
     * 操作对象标题
     **/
    String operateTitle() default "";

    /**
     * 操作详情<br/>
     * 可使用 ${} 表示请求参数的值<br/>
     * ${date} 自动替换成当前时间 yyyy-MM-dd HH:mm:ss<br/>
     * ${tokenUserName} 自动替换成 token 中用户名<br/>
     * ${tokenRealName} 自动替换成 token 中真实姓名<br/>
     **/
    String operateDetail() default "";

    /**
     * 操作对象ID<br/>
     * 可使用 ${} 表示请求参数的值<br/>
     **/
    String targetId() default "";
}
